/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package View;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;

import Model.dao.*;
import Model.pojo.Cliente;
import Model.pojo.Fornecedor;
import Model.pojo.Item;

public class FornecedorView {
	private static Scanner entrada = new Scanner(System.in);
	private FornecedorDao fornecedorDao;
	
	public FornecedorView (FornecedorDao fornecedorDao){
		this.fornecedorDao = fornecedorDao;
	}
	
	public static Scanner getEntrada() {
		return entrada;
	}

	public static void setEntrada(Scanner entrada) {
		FornecedorView.entrada = entrada;
	}
	
	public long cadastrarFornecedor() throws IOException{
		//Verificacoes
		Verificacoes verificacoes = new Verificacoes();
		System.out.println("Digite o nome do fornecedor: ");
		String nome = entrada.nextLine();
		while (verificacoes.verificarStringVazia(nome)){
			System.out.println("Nome do fornecedor nao aceito, digite o nome do fornecedor novamente: ");
			nome = entrada.nextLine();
		}	
		if (fornecedorDao.verificar(nome) != null){
			System.out.println("Fornecedor ja esta cadastrado!");
			return(fornecedorDao.verificar(nome).getCodigo());
		}
		System.out.println("Digite o enderedo do fornecedor: ");
		String endereco = entrada.nextLine();
		while (verificacoes.verificarStringVazia(endereco)){
			System.out.println("Endereco do fornecedor nao aceito, digite novamente: ");
			endereco = entrada.nextLine();
		}
		System.out.println("Digite o numero do telefone do fornecedor: ");
		String telefone = entrada.nextLine();
		while (verificacoes.verificarStringSoNumeros(telefone)){
			System.out.println("Numero de telefone nao aceito, digite novamente: ");
			telefone = entrada.nextLine();
		}
		
		long codigo = fornecedorDao.gerarCodigo();
		fornecedorDao.inserir(nome, codigo, endereco, telefone);
		System.out.println("Fornecedor cadastrado com sucesso!");
		return codigo;		
	}
	public void listarFornecedor(){
		Iterator<Fornecedor> it;
		ArrayList<Fornecedor>listar = fornecedorDao.getLista();
		if (listar.isEmpty() == true) return;
		it = listar.iterator();
		while (it.hasNext()) {  
			Fornecedor aux = it.next();  
			System.out.println("Nome:"+aux.getNome());
			System.out.println("Codigo:"+aux.getCodigo());
			System.out.println("Endereco:"+aux.getEndereco());
			System.out.println("Telefone:"+aux.getTelefone());
		}
		return;
		
	}
}
	

